﻿/**
* Audio 实时音效处理
* 
* @author flashk
* @version 0.1
*/
package view {
	import de.popforge.audio.processor.effects.Flanger;
	import de.popforge.audio.processor.effects.ParametricEQ;
	import flash.display.MovieClip;

	public class AudioEffect {
		public static var ins:AudioEffect;
		public static var nowType:int;
		public static var effSet1:Number = 1;
		public static var effSet2:Number = 1;
		
		public var peq:ParametricEQ;
		public var peq2:ParametricEQ;
		public var peq3:ParametricEQ;
		public var peq4:ParametricEQ;
		public var peq5:ParametricEQ;
		public var peq6:ParametricEQ;
		public var peq7:ParametricEQ;
		public var peq8:ParametricEQ;
		public var peq9:ParametricEQ;
		public var peq10:ParametricEQ;
		public var peqb1:ParametricEQ;
		public var peqb2:ParametricEQ;
		public var peqb3:ParametricEQ;
		public var peqb4:ParametricEQ;
		public var peqb5:ParametricEQ;
		public var peqb6:ParametricEQ;
		public var peqb7:ParametricEQ;
		
		private var flanger:Flanger;

		/**
		 * 初始化，设置音效处理的频段
		 */
		public function AudioEffect() 
		{
			ins = this;
			peq = new ParametricEQ();	
			peq2 = new ParametricEQ();
			peq3 = new ParametricEQ();
			peq4 = new ParametricEQ();
			peq5 = new ParametricEQ();	
			peq6 = new ParametricEQ();
			peq7 = new ParametricEQ();	
			peq8 = new ParametricEQ();	
			peq9 = new ParametricEQ();
			peq10 = new ParametricEQ();			
			peqb1 = new ParametricEQ();		
			peqb2 = new ParametricEQ();
			peqb3 = new ParametricEQ();
			peqb4 = new ParametricEQ();
			peqb5 = new ParametricEQ();	
			peqb6 = new ParametricEQ();	
			reset1();
			flanger = new Flanger();
			flanger.parameterSpeed.setValue(2);
			setEffect(1);
		}
		
		private function reset1():void {
			peq.parameterFrequency.setValue( 32 );		
			peq2.parameterFrequency.setValue( 64 );
			peq3.parameterFrequency.setValue( 125 );	
			peq4.parameterFrequency.setValue( 250 );
			peq5.parameterFrequency.setValue( 500 );
			peq6.parameterFrequency.setValue( 1000 );	
			peq7.parameterFrequency.setValue( 2000 );
			peq8.parameterFrequency.setValue( 4000 );
			peq9.parameterFrequency.setValue( 8000 );	
			peq10.parameterFrequency.setValue( 16000 );		
			peqb1.parameterFrequency.setValue( 50 );	
			peqb2.parameterFrequency.setValue( 20 );
			peqb3.parameterFrequency.setValue( 32 );
			peqb4.parameterFrequency.setValue( 55 );
			peqb5.parameterFrequency.setValue( 45 );
			peqb6.parameterFrequency.setValue( 12000 );
		}
		
		private function reset2():void {
			peq.parameterGain.setValue( 0 );		
			peq2.parameterGain.setValue( 0 );	
			peq3.parameterGain.setValue( 0 );	
			peq4.parameterGain.setValue( 0 );	
			peq5.parameterGain.setValue( 0 );	
			peq6.parameterGain.setValue( 0 );	
			peq7.parameterGain.setValue( 0 );	
			peq8.parameterGain.setValue( 0 );	
			peq9.parameterGain.setValue( 0 );		
			peq10.parameterGain.setValue( 0 );		
			peqb1.parameterGain.setValue( 0 );	
			peqb2.parameterGain.setValue( 0 );	
			peqb3.parameterGain.setValue( 0 );	
			peqb4.parameterGain.setValue( 0 );	
			peqb5.parameterGain.setValue( 0 );	
			peqb6.parameterGain.setValue( 0 );	
			peq.parameterQ.setValue( 0.5 );		
			peq2.parameterQ.setValue( 0.5 );	
			peq3.parameterQ.setValue( 0.5 );	
			peq4.parameterQ.setValue( 0.5 );		
			peq5.parameterQ.setValue( 0.5 );	
			peq6.parameterQ.setValue( 0.5 );	
			peq7.parameterQ.setValue( 0.5 );	
			peq8.parameterQ.setValue( 0.5 );	
			peq9.parameterQ.setValue( 0.5 );		
			peq10.parameterQ.setValue( 0.5 );		
			peqb1.parameterQ.setValue( 0.5 );		
			peqb2.parameterQ.setValue( 0.5 );	
			peqb3.parameterQ.setValue( 0.5 );	
			peqb4.parameterQ.setValue( 0.5 );	
			peqb5.parameterQ.setValue( 0.5 );	
			peqb6.parameterQ.setValue( 0.5 );	
		}
		/**
		 * 音效处理
		 * @param	samples
		 */
		public function processAudio(samples: Array):void
		{
			if (nowType == 0 ) return;
			if(peq.parameterGain.getValue() != 0) peq.processAudio(samples);
			if(peq2.parameterGain.getValue() != 0) peq2.processAudio(samples);
			if(peq3.parameterGain.getValue() != 0) peq3.processAudio(samples);
			if(peq4.parameterGain.getValue() != 0) peq4.processAudio(samples);
			if(peq5.parameterGain.getValue() != 0) peq5.processAudio(samples);
			if(peq6.parameterGain.getValue() != 0) peq6.processAudio(samples);			
			if(peq7.parameterGain.getValue() != 0) peq7.processAudio(samples);				
			if(peq8.parameterGain.getValue() != 0) peq8.processAudio(samples);				
			if(peq9.parameterGain.getValue() != 0) peq9.processAudio(samples);					
			if(peq10.parameterGain.getValue() != 0) peq10.processAudio(samples);		
			if(peqb1.parameterGain.getValue() != 0) peqb1.processAudio(samples);
			if(peqb2.parameterGain.getValue() != 0) peqb2.processAudio(samples);
			if(peqb3.parameterGain.getValue() != 0) peqb3.processAudio(samples);
			if(peqb4.parameterGain.getValue() != 0) peqb4.processAudio(samples);
			if(peqb5.parameterGain.getValue() != 0) peqb5.processAudio(samples);
			if(peqb6.parameterGain.getValue() != 0) peqb6.processAudio(samples);
		}
		public function setEffect(type:int):void {
//			DSPSound.scale = 0.6*effSet1;
			nowType = type;
			peqb1.parameterGain.setValue(0);
			peqb2.parameterGain.setValue(0);
			peqb3.parameterGain.setValue(0);
			peqb4.parameterGain.setValue(0);
			peqb5.parameterGain.setValue(0);
			if (type > 0) {
				reset1();
				reset2();
//				if(MediaPlayer.diyEQ != null){
//					MediaPlayer.diyEQ.setOff();
//				}
			}
			switch(type) {
				case 0:
					peq.parameterGain.setValue(0);
					peq2.parameterGain.setValue(0);
					peq3.parameterGain.setValue(0);
					peq4.parameterGain.setValue(0);
					peq5.parameterGain.setValue(0);	
					peq6.parameterGain.setValue(0);	
					peq7.parameterGain.setValue(0);	
					peq8.parameterGain.setValue(0);	
					peq9.parameterGain.setValue(0);	
					peq10.parameterGain.setValue(0);	
					break;
				case 42:
					peq.parameterGain.setValue(0*effSet2);
					peq2.parameterGain.setValue(1*effSet2);
					peq3.parameterGain.setValue(1*effSet2);
					peq4.parameterGain.setValue(0*effSet2);
					peq5.parameterGain.setValue(-1*effSet2);	
					peq6.parameterGain.setValue(0*effSet2);	
					peq7.parameterGain.setValue(0*effSet2);	
					peq8.parameterGain.setValue(0*effSet2);	
					peq9.parameterGain.setValue(4*effSet2);	
					peq10.parameterGain.setValue(1*effSet2);
					peqb1.parameterGain.setValue(0*effSet2);
					peqb2.parameterGain.setValue(8 * effSet2);
					break;
				case 43:
					peq.parameterGain.setValue(-2*effSet2);
					peq2.parameterGain.setValue(-1*effSet2);
					peq3.parameterGain.setValue(0*effSet2);
					peq4.parameterGain.setValue(0*effSet2);
					peq5.parameterGain.setValue(-0.5*effSet2);	
					peq6.parameterGain.setValue(0*effSet2);	
					peq7.parameterGain.setValue(0*effSet2);	
					peq8.parameterGain.setValue(0*effSet2);	
					peq9.parameterGain.setValue(-1*effSet2);	
					peq10.parameterGain.setValue(-1*effSet2);
					break;
				case 41:
					peq.parameterGain.setValue(2*effSet2);
					peq2.parameterGain.setValue(1*effSet2);
					peq3.parameterGain.setValue(0*effSet2);
					peq4.parameterGain.setValue(0*effSet2);
					peq5.parameterGain.setValue(-1*effSet2);	
					peq6.parameterGain.setValue(0*effSet2);	
					peq7.parameterGain.setValue(0*effSet2);	
					peq8.parameterGain.setValue(0*effSet2);	
					peq9.parameterGain.setValue(2*effSet2);	
					peq10.parameterGain.setValue(0.5*effSet2);
					peqb4.parameterGain.setValue(0*effSet2);
					peqb5.parameterGain.setValue(8*effSet2);
					peqb1.parameterGain.setValue(8*effSet2);
					peqb2.parameterGain.setValue(8*effSet2);
//					DSPSound.scale = 0.4*effSet1;
					break;
				case 45:
					peq.parameterGain.setValue(10*effSet2);
					peq2.parameterGain.setValue(-1*effSet2);
					peq3.parameterGain.setValue(0*effSet2);
					peq4.parameterGain.setValue(1*effSet2);
					peq5.parameterGain.setValue(-5*effSet2);	
					peq6.parameterGain.setValue(0*effSet2);	
					peq7.parameterGain.setValue(0*effSet2);	
					peq8.parameterGain.setValue(0*effSet2);	
					peq9.parameterGain.setValue(2*effSet2);	
					peq10.parameterGain.setValue(0*effSet2);
					peqb4.parameterGain.setValue(0*effSet2);
					peqb5.parameterGain.setValue(5*effSet2);
					peqb1.parameterGain.setValue(0*effSet2);
					peqb2.parameterGain.setValue(0*effSet2);
//					DSPSound.scale = 0.4 * effSet1;
					break;
				case 2:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*0.5);
					peq3.parameterGain.setValue(effSet2*1);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*2);	
					peq10.parameterGain.setValue(effSet2*0.5);
					break;
				case 1:
					peq.parameterGain.setValue(effSet2*5);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*1.5);	
					peq10.parameterGain.setValue(effSet2*0);
					peqb1.parameterGain.setValue(effSet2*1);
					peqb6.parameterGain.setValue(effSet2*0.5);
					break;
				case 3:
					peq.parameterGain.setValue(effSet2*6);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3);	
					peq10.parameterGain.setValue(effSet2*0.5);
					peqb4.parameterGain.setValue(effSet2 * 1);
					break;
				case 38:
					peq.parameterGain.setValue(effSet2*10);
					peq2.parameterGain.setValue(effSet2*2);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3);	
					peq10.parameterGain.setValue(effSet2*0.5);
//					DSPSound.scale = 0.5 * effSet1;
					break;
				case 39:
					peq.parameterGain.setValue(effSet2*7);
					peq2.parameterGain.setValue(effSet2*10);
					peq3.parameterGain.setValue(effSet2*-2);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2*1);
//					DSPSound.scale = 0.4*effSet1;
					break;
				case 40:
					peq.parameterGain.setValue(effSet2*7);
					peq2.parameterGain.setValue(effSet2*10);
					peq3.parameterGain.setValue(effSet2*-2);
					peq4.parameterGain.setValue(effSet2*-7);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2*0);
//					DSPSound.scale = 0.4*effSet1;
					break;
				case 5:
					peq.parameterGain.setValue(effSet2*4);
					peq2.parameterGain.setValue(effSet2*6);
					peq3.parameterGain.setValue(effSet2*-2);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2*1);
					break;
				case 4:
					peq.parameterGain.setValue(effSet2*2);
					peq2.parameterGain.setValue(effSet2*3);
					peq3.parameterGain.setValue(effSet2*1);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3);	
					peq10.parameterGain.setValue(effSet2*1);
					break;
				case 6:
					peq.parameterGain.setValue(effSet2*0);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*0);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2 * 1);
					break;
				case 7:
					peq.parameterGain.setValue(effSet2*-3);
					peq2.parameterGain.setValue(effSet2*-1);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-3);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3);	
					peq10.parameterGain.setValue(effSet2 * 1);
					break;
				case 8:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*1);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*-2);
					peq5.parameterGain.setValue(effSet2*-4);	
					peq6.parameterGain.setValue(effSet2*-4);	
					peq7.parameterGain.setValue(effSet2*-2);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*1);	
					peq10.parameterGain.setValue(effSet2 * 2);
					break;
				case 9:
					peq.parameterGain.setValue(effSet2*-2);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*2);
					peq4.parameterGain.setValue(effSet2*4);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*-2);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2 * 4);
					break;
				case 10:
					peq.parameterGain.setValue(effSet2*-6);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*0);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*4);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2*0);
					break;
				case 11:
					peq.parameterGain.setValue(effSet2*-2);
					peq2.parameterGain.setValue(effSet2*3);
					peq3.parameterGain.setValue(effSet2*4);
					peq4.parameterGain.setValue(effSet2*1);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*-2);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2 * 4);
					break;
				case 12:
					peq.parameterGain.setValue(effSet2*0);
					peq2.parameterGain.setValue(effSet2*8);
					peq3.parameterGain.setValue(effSet2*8);
					peq4.parameterGain.setValue(effSet2*4);
					peq5.parameterGain.setValue(effSet2*0);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*2);	
					peq10.parameterGain.setValue(effSet2 * 2);
					break;
				case 13:
					peq.parameterGain.setValue(effSet2*-4);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*2);
					peq4.parameterGain.setValue(effSet2*1);
					peq5.parameterGain.setValue(effSet2*0);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*-4);	
					peq10.parameterGain.setValue(effSet2 * -6);
					break;
				case 14:
					peq.parameterGain.setValue(effSet2*0);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*4);
					peq5.parameterGain.setValue(effSet2*5);	
					peq6.parameterGain.setValue(effSet2*3);	
					peq7.parameterGain.setValue(effSet2*6);	
					peq8.parameterGain.setValue(effSet2*3);	
					peq9.parameterGain.setValue(effSet2*0);	
					peq10.parameterGain.setValue(effSet2 * 0);
					break;
				case 15:	
					peq.parameterGain.setValue(effSet2*-6);
					peq2.parameterGain.setValue(effSet2*1);
					peq3.parameterGain.setValue(effSet2*4);
					peq4.parameterGain.setValue(effSet2*-2);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*-4);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*6);	
					peq10.parameterGain.setValue(effSet2*6);
					break;
				case 16:
					peq.parameterGain.setValue(effSet2*0);
					peq2.parameterGain.setValue(effSet2*3);
					peq3.parameterGain.setValue(effSet2*-3);
					peq4.parameterGain.setValue(effSet2*-2);
					peq5.parameterGain.setValue(effSet2*-5);	
					peq6.parameterGain.setValue(effSet2*-3);	
					peq7.parameterGain.setValue(effSet2*-1);	
					peq8.parameterGain.setValue(effSet2*1);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2 * 1);
					break;
				case 17:
					peq.parameterGain.setValue(effSet2*8);
					peq2.parameterGain.setValue(effSet2*-2);
					peq3.parameterGain.setValue(effSet2*-3);
					peq4.parameterGain.setValue(effSet2*-2);
					peq5.parameterGain.setValue(effSet2*-5);	
					peq6.parameterGain.setValue(effSet2*-3);	
					peq7.parameterGain.setValue(effSet2*-1);	
					peq8.parameterGain.setValue(effSet2*1);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2 * 1);
					break;
				case 18:
					peq.parameterGain.setValue(effSet2*-2);
					peq2.parameterGain.setValue(effSet2*4);
					peq3.parameterGain.setValue(effSet2*-3);
					peq4.parameterGain.setValue(effSet2*-2);
					peq5.parameterGain.setValue(effSet2*-5);	
					peq6.parameterGain.setValue(effSet2*-3);	
					peq7.parameterGain.setValue(effSet2*-1);	
					peq8.parameterGain.setValue(effSet2*1);	
					peq9.parameterGain.setValue(effSet2*4);	
					peq10.parameterGain.setValue(effSet2 * 1);
					break;
				case 19:
					peq.parameterGain.setValue(effSet2*12);
					peq2.parameterGain.setValue(effSet2*-2);
					peq3.parameterGain.setValue(effSet2*-8);
					peq4.parameterGain.setValue(effSet2*-5);
					peq5.parameterGain.setValue(effSet2*-3);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*0);	
					peq10.parameterGain.setValue(effSet2 * -2);
					break;
				case 20:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*2);
					peq3.parameterGain.setValue(effSet2*1);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*0);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0.5);	
					peq9.parameterGain.setValue(effSet2*2);	
					peq10.parameterGain.setValue(effSet2 * 2);
					break;
				case 21:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-3);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3);	
					peq10.parameterGain.setValue(effSet2 * 1);
					break;
				case 22:
					peq.parameterGain.setValue(effSet2*0);
					peq2.parameterGain.setValue(effSet2*2);
					peq3.parameterGain.setValue(effSet2*2);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*2);	
					peq10.parameterGain.setValue(effSet2 * 0);
					break;
				case 23:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*-1);
					peq4.parameterGain.setValue(effSet2*-2);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3);	
					peq10.parameterGain.setValue(effSet2 * 4);
					break;
				case 24:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*4);
					peq3.parameterGain.setValue(effSet2*-1);
					peq4.parameterGain.setValue(effSet2*-2);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3);	
					peq10.parameterGain.setValue(effSet2 * 4);
					break;
				case 25:
					peq.parameterGain.setValue(effSet2*2);
					peq2.parameterGain.setValue(effSet2*3);
					peq3.parameterGain.setValue(effSet2*1);
					peq4.parameterGain.setValue(effSet2*1);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*-1);	
					peq10.parameterGain.setValue(effSet2 * -2);
					break;
				case 26:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*-1);
					peq3.parameterGain.setValue(effSet2*-2);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*2);	
					peq10.parameterGain.setValue(effSet2 * 1);
					break;
				case 27:
					peq.parameterGain.setValue(effSet2*10);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*-6);
					peq5.parameterGain.setValue(effSet2*-6);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3);	
					peq10.parameterGain.setValue(effSet2 * -1);
					break;
				case 28:
					peq.parameterGain.setValue(effSet2*2);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*1);	
					peq10.parameterGain.setValue(effSet2 * 0);
					break;
				case 29:
					peq.parameterGain.setValue(effSet2*4);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*1.5);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*2);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*6.7);	
					peq10.parameterGain.setValue(effSet2 * 1);
					break;
				case 30:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*1);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1.5);	
					peq6.parameterGain.setValue(effSet2*1);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*2.5);	
					peq10.parameterGain.setValue(effSet2 * 0.7);
					break;
				case 31:
//					DSPSound.scale = 0.25*effSet1;
					peq.parameterGain.setValue(effSet2*12);
					peq2.parameterGain.setValue(effSet2*8);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*-2);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*3.5);	
					peq10.parameterGain.setValue(effSet2 * 0.7);
					break;
				case 32:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*0.5);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*0);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*0.5);	
					peq10.parameterGain.setValue(effSet2 * 0);
					break;
				case 33:
					peq.parameterGain.setValue(effSet2*3);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-0.5);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*+0.5);	
					peq10.parameterGain.setValue(effSet2 * 0);
					break;
				case 34:
//					DSPSound.scale = 0.5*effSet1;
					peq.parameterGain.setValue(effSet2*2);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*2);	
					peq10.parameterGain.setValue(effSet2*0);
					peqb4.parameterGain.setValue(effSet2*8);
					peqb5.parameterGain.setValue(effSet2 * 4);
					break;
				case 35:
					peq.parameterGain.setValue(effSet2*4);
					peq2.parameterGain.setValue(effSet2*0);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-1);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*2);	
					peq10.parameterGain.setValue(effSet2*1);
					peqb4.parameterGain.setValue(effSet2*2);
					peqb5.parameterGain.setValue(effSet2 * 0);
					break;
				case 36:
					peq.parameterGain.setValue(effSet2*2);
					peq2.parameterGain.setValue(effSet2*-1);
					peq3.parameterGain.setValue(effSet2*0);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*0);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*-1.5);	
					peq10.parameterGain.setValue(effSet2 * -6);
					break;
				case 37:
					peq.parameterGain.setValue(effSet2*-2);
					peq2.parameterGain.setValue(effSet2*-3);
					peq3.parameterGain.setValue(effSet2*-2);
					peq4.parameterGain.setValue(effSet2*0);
					peq5.parameterGain.setValue(effSet2*-2);	
					peq6.parameterGain.setValue(effSet2*-0.5);	
					peq7.parameterGain.setValue(effSet2*0);	
					peq8.parameterGain.setValue(effSet2*0);	
					peq9.parameterGain.setValue(effSet2*-1);	
					peq10.parameterGain.setValue(effSet2 * -3);
					break;
				default:
					//
			}
		}
		public function reset():void
		{
			peq.parameterGain.setValue(2);
			peq2.parameterGain.setValue(3);
			peq3.parameterGain.setValue(0.5);
			peq4.parameterGain.setValue(1.5);
			peq5.parameterGain.setValue(5);	
			peq6.parameterGain.setValue(-0.5);	
			peq7.parameterGain.setValue(0);	
		}
		/**
		 * 设定各种音效
		 * @param	set1 表示当前音效状态的MC
		 * @param	set2 表示当前音效状态的MC
		 * @param	set3 表示当前音效状态的MC
		 */
		public function changeSet(set1:MovieClip,
								  set2:MovieClip,
								  set3:MovieClip):void
		{
			//
		}
	}	
}
